package com.sqly.doc.menu.fwjl;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.view.menu.MenuPopupHelper;
import android.support.v7.widget.PopupMenu;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;
import com.sqly.doc.R;
import com.sqly.doc.adapter.CommonAdapter;
import com.sqly.doc.adapter.ViewHolder;
import com.sqly.doc.base.MyBaseActivity;
import com.sqly.doc.pojo.RetMsg;
import com.sqly.doc.pojo.ServiceRecord;
import com.sqly.doc.pojo.ServiceRecordYw;
import com.sqly.doc.pojo.SignUp;
import com.sqly.doc.util.DateConvert;
import com.sqly.doc.util.HttpUrl;
import com.sqly.doc.util.MyToastUtil;
import com.sqly.doc.util.NetWorkUtils;
import com.sqly.doc.util.SharedPreferencesUtils;
import com.sqly.doc.util.UserClient;
import com.sqly.doc.view.CustomDatePicker;
import com.sqly.doc.view.StringUtils;
import com.sqly.doc.view.XListView;
import com.zyao89.view.zloading.ZLoadingDialog;
import com.zyao89.view.zloading.Z_TYPE;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

import cz.msebera.android.httpclient.Header;

/**
 * 服务记录列表
 * Created by Administrator on 2020/02/14 0028.
 */

public class fwjl_yw_list extends MyBaseActivity {
    XListView listView;
    //标题
    TextView title, uname;
    LinearLayout back;
    ZLoadingDialog dialog;//加载动画
    Context con = fwjl_yw_list.this;
    private int pageNum1 = 1;// 无关键字页数
    List<ServiceRecordYw> list;
    private ImageView cx;
    private TextView key;
    private CustomDatePicker customDatePicker;
    String recordId = "", signupid = "";

    @Override
    protected void initUI() {
        setContentView(R.layout.fwjl_list);
        final int flag = getIntent().getExtras().getInt("flag");
        signupid = getIntent().getExtras().getString("signupid");
        ServiceRecord record = (ServiceRecord) getIntent().getExtras().getSerializable("b");
        if(null != record) {
            recordId = record.getSrid();
        }
        String titleStr = "";
        if(flag == 1){
            titleStr = "服用药物";
        }else if(flag == 2){
            titleStr = "增加药物频次";
        }else if(flag == 3){
            titleStr = "增加药物剂量";
        }else if(flag == 4){
            titleStr = "更换药物";
        }
        cx = (ImageView) findViewById(R.id.cx);
        cx.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pageNum1 = 1;
                getData();
            }
        });
        key = (TextView) findViewById(R.id.key);
        title = (TextView) findViewById(R.id.title);
        uname = (TextView) findViewById(R.id.uname);
        title.setText("居民"+titleStr+"服务记录");
        uname.setText("新增");
        uname.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(flag == 1){
                    startActivity(new Intent(con, fyyw_add.class).putExtra("type", "add").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 2){
                    startActivity(new Intent(con, zjpc_add.class).putExtra("type", "add").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 3){
                    startActivity(new Intent(con, zjjl_add.class).putExtra("type", "add").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 4){
                    startActivity(new Intent(con, ghyw_add.class).putExtra("type", "add").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }
            }
        });
        back = (LinearLayout) findViewById(R.id.back);
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        listView = (XListView) findViewById(R.id.listView);
        listView.setPullLoadEnable(true);
        dialog = new ZLoadingDialog(con);
        dialog.setLoadingBuilder(Z_TYPE.DOUBLE_CIRCLE)//设置类型
                .setLoadingColor(Color.parseColor("#1C86EE"))//颜色
                .setHintText("Loading...")
                .setHintTextSize(16) // 设置字体大小 dp
                .setHintTextColor(Color.parseColor("#1C86EE"));  // 设置字体颜色
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Bundle b = new Bundle();
                b.putSerializable("b", list.get(i - 1));
                if(flag == 1){
                    startActivity(new Intent(con, fyyw_add.class).putExtras(b).putExtra("type", "edit").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 2){
                    startActivity(new Intent(con, zjpc_add.class).putExtras(b).putExtra("type", "edit").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 3){
                    startActivity(new Intent(con, zjjl_add.class).putExtras(b).putExtra("type", "edit").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }else if(flag == 4){
                    startActivity(new Intent(con, ghyw_add.class).putExtras(b).putExtra("type", "edit").putExtra("signupid", signupid).putExtra("recordId", recordId));
                }
            }
        });
    }

    @Override
    protected void initData() {

    }

    @Override
    protected void onResume() {
        super.onResume();
        if (NetWorkUtils.isNetworkConnected(con)) {//联网状态
            getData();
        }
    }

    @Override
    protected void initListener() {

    }

    public void getData() {
        RequestParams ps = new RequestParams();
        ps.add("token", SharedPreferencesUtils.getParam(con, "token", "").toString());
        ps.add("type", "2");
        ps.add("page", pageNum1 + "");
        ps.add("flag", getIntent().getExtras().getInt("flag")+"");
        ps.add("recordId", recordId);
        if (!StringUtils.isEmpty(key.getText().toString()))
            ps.add("sj", key.getText().toString());
        UserClient.get(HttpUrl.GetFwjlYwList, ps, new AsyncHttpResponseHandler() {
            @Override
            public void onStart() {
                super.onStart();
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {

                MyToastUtil.ShowToast(con, "请求失败");
            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] response) {
                String content = new String(response);
                dialog.dismiss();
                RetMsg ret = JSON.parseObject(content, RetMsg.class);
                if (ret.getCode().equals("200")) {
                    if (pageNum1 == 1)
                        list = new ArrayList<ServiceRecordYw>();
                    List<ServiceRecordYw> ll = JSON.parseArray(ret.getList(), ServiceRecordYw.class);
                    JSONArray js = JSON.parseArray(ret.getList());
                    for (int i = 0; i < js.size(); i++) {
                        JSONObject j = js.getJSONObject(i);
                        ll.get(i).setYwid(j.getString("id"));
                    }
                    for (int i = 0; i < ll.size(); i++) {
                        list.add(ll.get(i));
                    }

                    listView.setSelection(list.size() - ll.size());
                    listView.stopRefresh();
                    listView.stopLoadMore();
                    listView.setRefreshTime("刚刚");
                    listView.setXListViewListener(new XListView.IXListViewListener() {
                        @Override
                        public void onRefresh() {
                            pageNum1 = 1;
                            getData();
                        }

                        @Override
                        public void onLoadMore() {
                            pageNum1 = pageNum1 + 1;
                            getData();
                        }
                    });
                    listView.setAdapter(new CommonAdapter<ServiceRecordYw>(con, list, R.layout.fwjl_yw_item) {
                        @Override
                        public void convert(ViewHolder helper, ServiceRecordYw item) {
                            if(null != item.getOperate_flag() && "1".equals(item.getOperate_flag())){
                                helper.setText(R.id.name, "名称:"+item.getFwyw_name());
                                String ywlxStr = "";
                                if(null !=item.getFyyw_lx() && "0".equals(item.getFyyw_lx())){
                                    ywlxStr = "无";
                                }else if(null !=item.getFyyw_lx() && "1".equals(item.getFyyw_lx())){
                                    ywlxStr = "降压";
                                }else if(null !=item.getFyyw_lx() && "2".equals(item.getFyyw_lx())){
                                    ywlxStr = "降糖";
                                }
                                helper.setText(R.id.info, "种类:" + ywlxStr);//0-无，1-降压，2-降糖
                                helper.setText(R.id.lx, "操作类型：服用药物");
                            }else if(null != item.getOperate_flag() && "2".equals(item.getOperate_flag())){
                                helper.setText(R.id.name, "名称:"+item.getZjpcyw_name());
                                helper.setText(R.id.info, "频次:" + item.getZjpcyw_pc()+item.getZjpcyw_pcdw());
                                helper.setText(R.id.lx, "操作类型：增加频次");
                            }else if(null != item.getOperate_flag() && "3".equals(item.getOperate_flag())){
                                helper.setText(R.id.name, "名称:"+item.getZjjlyw_name());
                                helper.setText(R.id.info, "剂量:" + item.getZjjlyw_jl()+item.getZjjlyw_jldw());
                                helper.setText(R.id.lx, "操作类型：增加剂量");
                            }else if(null != item.getOperate_flag() && "4".equals(item.getOperate_flag())){
                                helper.setText(R.id.name, "名称:"+item.getGhyw_name());
                                if(null != item.getGhyw_fyff() && item.getGhyw_fyff().length()>=10){
                                    helper.setText(R.id.info, "服用方法:" + item.getGhyw_fyff().substring(0,10));
                                }else{
                                    helper.setText(R.id.info, "服用方法:" + item.getGhyw_fyff());
                                }

                                helper.setText(R.id.lx, "操作类型：更换药物");
                            }
                        }
                    });
                } else {
                    MyToastUtil.ShowToast(con, "获取错误");
                }
            }
        });
    }
}
